#include "server.h"

// 接收线程
void *pthread_recv(void *arg)
{
	// 接收参数
	int sock = *((int *)arg);
	// 声明缓冲区
	char buf[128];
	memset(buf, 0, sizeof(buf));
	// 接收字符数量
	int byte_recv = 0;

	// 返回值变量
	static int return_val = 0;

	while (1)
	{
		byte_recv = recv(sock, buf, sizeof(buf), 0);
		// 错误判断
		if (-1 == byte_recv)
		{
			ERRLOG("接收错误");
			return NULL;
		}
		// 结束状态
		else if (0 == byte_recv)
		{
			printf("读取结束\n");
			// 返回1  代表TCP 连接结束
			return_val = 1;
			return (void *)&return_val;
		}

		// 打印接收的字符
		printf("\n输入:%s\n", buf);

		// 清空buf
		memset(buf, 0, sizeof(buf));
	}
}

// 发送线程
void *pthread_send(void *arg)
{
	// 接收参数
	int sock = *((int *)arg);
	// 声明缓冲区
	char buf[128];
	memset(buf, 0, sizeof(buf));

	while (1)
	{
		// 从键盘获取字符串
		printf("发送:");
		scanf("%s", buf);
		if (0 == strlen(buf))
		{
			printf("未输入数据 , 请重新输入\n");
			continue;
		}

		// 发送
		if (-1 == send(sock, buf, strlen(buf), 0))
		{
			ERRLOG("写入错误");
			return NULL;
		}

		// 清空缓冲区
		memset(buf, 0, sizeof(buf));
	}
}
